// MIR for `foo` after built

fn foo(_1: [(Never, u32); 1]) -> u32 {
    debug xs => _1;
    let mut _0: u32;
    let _2: usize;
    let mut _3: usize;
    let mut _4: bool;

    bb0: {
        StorageLive(_2);
        _2 = const 0_usize;
        _3 = Len(_1);
        _4 = Lt(_2, _3);
        assert(move _4, "index out of bounds: the length is {} but the index is {}", move _3, _2) -> [success: bb1, unwind: bb2];
    }

    bb1: {
        _0 = (_1[_2].1: u32);
        StorageDead(_2);
        return;
    }

    bb2 (cleanup): {
        resume;
    }
}
